From 5d7ea4656a613981253faa11716ddc93b2df0003 Mon Sep 17 00:00:00 2001 From: "tsteven4@gmail.com" Date: Sat, 15 Mar 2014 17:23:28 +0000 Subject: [PATCH] have the trackfilter merge operation put all waypts in one track segment instead of each waypt in it's own segment. git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@4778 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/reference/track/trackfilter_discard_out.gpx | 2 -- gpsbabel/trackfilter.cc | 10 ++++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gpsbabel/reference/track/trackfilter_discard_out.gpx b/gpsbabel/reference/track/trackfilter_discard_out.gpx index 9388d7c09..dae9bd6c5 100644 --- a/gpsbabel/reference/track/trackfilter_discard_out.gpx +++ b/gpsbabel/reference/track/trackfilter_discard_out.gpx @@ -10,8 +10,6 @@ 145.411000 - - 145.736000 diff --git a/gpsbabel/trackfilter.cc b/gpsbabel/trackfilter.cc index c9cad014f..ed1bbf969 100644 --- a/gpsbabel/trackfilter.cc +++ b/gpsbabel/trackfilter.cc @@ -522,8 +522,14 @@ trackfilter_merge(void) wpt = (Waypoint*)elem; if (wpt->creation_time.isValid()) { buff[j++] = new Waypoint(*wpt); + // we will put the merged points in one track segment, + // as it isn't clear how track segments in the original tracks + // should relate to the merged track. + // track_add_wpt will set new_trkseg for the first point + // after the sort. + wpt->wpt_flags.new_trkseg = 0; } - track_del_wpt(track, wpt); + track_del_wpt(track, wpt); // copies any new_trkseg flag forward. delete wpt; } if (track != master) { /* i > 0 */ @@ -540,7 +546,7 @@ trackfilter_merge(void) for (i = 0; i < track_pts-timeless_pts; i++) { wpt = buff[i]; if ((prev == NULL) || (prev->GetCreationTime() != wpt->GetCreationTime())) { - route_add_wpt(master, wpt); + track_add_wpt(master, wpt); prev = wpt; } else { delete wpt; -- 2.30.2